plat/arm: Fix incorrect number of reserved memory map entries
authorChris Kay <[email protected]>
Wed, 9 May 2018 14:14:06 +0000 (15:14 +0100)
committerChris Kay <[email protected]>
Fri, 11 May 2018 13:55:20 +0000 (14:55 +0100)
There are three calls to mmap_add_region() that always occur in
arm_setup_page_tables(), and two further calls based on whether coherent
memory is enabled, and whether SPM is enabled in BL31.

This commit adapts the ARM_BL_REGIONS definition to match the number of
calls made inside arm_setup_page_tables() so that the MAX_MMAP_REGIONS
is realigned with what is actually occurring.

Change-Id: I7adc05951abccf2cbd5c86280eb874911e6a1566
Signed-off-by: Chris Kay <[email protected]>
include/plat/arm/common/arm_def.h

index 95e986bf2bf38abfa91f8f75973cf35e0d4c6ae2..a0368dafc0f7aa01d994c095921e035220cf7206 100644 (file)
  * The number of regions like RO(code), coherent and data required by
  * different BL stages which need to be mapped in the MMU.
  */
-#if USE_COHERENT_MEM
-#define ARM_BL_REGIONS                 3
+#if ENABLE_SPM && defined(IMAGE_BL31)
+# if USE_COHERENT_MEM
+#  define ARM_BL_REGIONS               5
+# else
+#  define ARM_BL_REGIONS               4
+# endif
+#elif USE_COHERENT_MEM
+# define ARM_BL_REGIONS                        4
 #else
-#define ARM_BL_REGIONS                 2
+# define ARM_BL_REGIONS                        3
 #endif
 
 #define MAX_MMAP_REGIONS               (PLAT_ARM_MMAP_ENTRIES +        \